package com.javafactroy.kunlong.data.entity;

import lombok.Data;
import com.javafactroy.kunlong.base.dto.TQueryParam;
import com.javafactroy.kunlong.client.feign.dto.PageInfoDto;
import javax.persistence.Column;
import javax.persistence.*;
//import javax.persistence.Id;
import lombok.experimental.Accessors;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import com.alibaba.excel.annotation.write.style.ColumnWidth;

import io.swagger.annotations.ApiModelProperty;
/**
*  @author raymond.lei@163.com
*  @date   2023-12-01 09:30:00
*  @file   MetadataTablePropApiEntity.java
*  @company com.javafactroy.kunlong
*
*/
@Data
@Table(name="metadata_table_prop")
@ApiModel("表属性")
@Accessors(chain = true)
@ExcelIgnoreUnannotated
@ColumnWidth(18)
public class MetadataTablePropApiEntity   extends PageInfoDto {
    private static final long serialVersionUID = 1L; //一会就说这个是做什么的

    public final static String pkeyField = "table_id";
    public final static String pkeyProp  = "tableId";
    @Data
    public static class MetadataTablePropQueryParam extends TQueryParam<MetadataTablePropApiEntity> {
        public MetadataTablePropQueryParam() {
            param = new MetadataTablePropApiEntity();
        }
    }

    		// 主键 dataType:bigint
		@ApiModelProperty(name="主键")
		@ExcelProperty("主键")
		@Column(name="table_id")
		@Id
		@GeneratedValue(strategy = GenerationType.IDENTITY,generator = "Mysql")
		protected Long  tableId;

		// 数据库 dataType:varchar
		@ApiModelProperty(name="数据库")
		@ExcelProperty("数据库")
		@Column(name="db_name")
		protected String  dbName;

		// 表名 dataType:varchar
		@ApiModelProperty(name="表名")
		@ExcelProperty("表名")
		@Column(name="table_name")
		protected String  tableName;

		// 注释 dataType:varchar
		@ApiModelProperty(name="注释")
		@ExcelProperty("注释")
		@Column(name="table_comment")
		protected String  tableComment;

		// 实体类名 dataType:varchar
		@ApiModelProperty(name="实体类名")
		@ExcelProperty("实体类名")
		@Column(name="cls_name")
		protected String  clsName;

		// 类型t  v  i dataType:varchar
		@ApiModelProperty(name="类型t  v  i")
		@ExcelProperty("类型t  v  i")
		@Column(name="type")
		protected String  type;

		// 系统标识 dataType:bigint
		@ApiModelProperty(name="系统标识")
		@ExcelProperty("系统标识")
		@Column(name="sys_app_id")
		protected Long  sysAppId;

		// 系统名称 dataType:varchar
		@ApiModelProperty(name="系统名称")
		@ExcelProperty("系统名称")
		@Column(name="sys_name")
		protected String  sysName;



}